package com.ytjj.qmyx.admin.service;

import com.ytjj.common.api.CommonPage;
import com.ytjj.qmyx.admin.model.ProductSpecialAddRequest;
import com.ytjj.qmyx.admin.model.request.DynamicSpecialRequest;
import com.ytjj.qmyx.admin.model.request.SpecialProListRequest;
import com.ytjj.qmyx.admin.model.request.SpecialRecomListRequest;
import com.ytjj.qmyx.admin.model.request.SpecialRequest;
import com.ytjj.qmyx.admin.model.response.*;
import com.ytjj.qmyx.mall.model.*;

import java.util.List;

public interface SpecialService {

    CommonPage<SpecialResp> list(SpecialRequest specialRequest);

    int create(Special special);

    int update(Special special);

    Special getSpecialById(Integer id);

    int updateStatus(Integer id);

    CommonPage<SpecialProductResponse> getProductListById(SpecialProListRequest specialProListRequest);

    CommonPage<SpecialRecommendResponse> getRecommendListById(SpecialRecomListRequest specialRecomListRequest);

    List<Product> getProducts(Integer bankerId);

    int addProductSpecial(ProductSpecialAddRequest productSpecial);

    int updateProductSpecial(ProductSpecial productSpecial);

    int updateProductSpecialStatus(Integer specialId , Integer productId);

    int deleteProductSpecial(Integer specialId , Integer productId);

    CommonPage<DynamicModeResponse> getDynamicsById(DynamicSpecialRequest dynamicSpecialRequest);

    List<Dynamic> getDynamics();

    int addDynamicSpecial(DynamicSpecial dynamicSpecial);

    int updateDynamicSpecial(DynamicSpecial dynamicSpecial);

    int updateDynamicSpecialStatus(Integer specialId , Integer dynamicId);

    int deleteDynamicSpecial(Integer specialId , Integer dynamicId);

    int isRecommendFlag(Integer productId, Integer specialId, Integer recommendFlag);

    List<Special> getSpecialList();

    List<SpecialResponse> getDynamicSpecialList();

    int deleteSpecial(Integer id);

    List<DynamicCategoryResponse> getDynamicCategory();
}
